A conventional computing device (e.g., smart phone, tablet computer, etc.) may include a system on chip (SOC), which has a processor and other operational circuits. Specifically, an SOC in a wireless device may include a processor chip within a package, where the package is mounted on a printed circuit board (PCB) internally to the phone. The device includes an external housing and a display, such as a liquid crystal display (LCD). A human user when using the device physically touches the external housing and the display.
As the SOC operates, it generates heat. In one example, the SOC within a smart phone may reach temperatures of 80° C.-100° C. Furthermore, conventional wireless devices may not include fans to dissipate heat. During use, such as when a human user is watching a video on a device, the SOC generates heat, and the heat is spread through the internal portions of the device to the outside surface of the device. Conventional smart phones include algorithms to control both the SOC temperature and the temperature of an outside surface of the device by reducing a frequency of operation of the SOC when a temperature sensor on the SOC reaches a threshold level. This may be referred to as thermal throttling or thermal mitigation. Thermal throttling may prevent heat damage to internal components of the device or discomfort to user touching the device, but at a cost to performance.
Demand for more performance in computing devices is increasing. One industry response to this demand has been the addition of more processor cores on an SOC to improve performance. Regardless of the number of processor cores, most conventional user applications are written so that processing is concentrated in just two cores (e.g., dual processor core intensive), hence adding more processor cores may not directly translate into better user experience/performance. And while some conventional systems may assign processing threads to CPU cores based on a temperature reading being below a certain threshold, such strategy may be hampered by the use of only a few (e.g., two) cores. Also, simply assigning processing threads to CPU cores with lower temperatures is a reactive process that may still incur thermal throttling from time to time.
Further, some conventional applications are written to employ the resources of a graphics processing unit (GPU) rather than just relying on a central processing unit (CPU). However, heavy use of a GPU may result in generation of heat that affects surrounding processing units on the SOC, such as cores of the CPU, a modem, a digital signal processor (DSP), and the like. Furthermore, different applications may use different resources and have different operating specifications. Therefore, there is a need in the art for computing systems employing multiple processing units to address heat generated by one processing unit that affects another processing unit while taking into account resource usage by a given application.